home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Tools / Languages / Caml Light 0.61 / Source / src / Makefile < prev   
Encoding:
Makefile  |  1994-07-08  |  5.4 KB  |  145 lines  |  [TEXT/MPS ]

  1. BINDIR="Macadam:Caml Light:CL61:tools:"
  2. LIBDIR="Macadam:Caml Light:CL61:lib:"
  3. SRCDIR="Macadam:Caml Light:CL61:src:"
  4. distrib_dir = "Macadam:Caml Light:newdistrib:cl61macbin:"
  5. distrib_dir_source = "Macadam:Caml Light:newdistrib:cl61macsrc:"
  6.  
  7. MAKE=do make
  8.  
  9. world ƒ
  10.     Directory runtime; {MAKE} all; Directory ::
  11.     Duplicate :runtime:camlrun :
  12.     Directory yacc; {MAKE} all; Directory ::
  13.     Duplicate :yacc:camlyacc :
  14.     Directory lib; {MAKE} all; Directory ::
  15.     Directory compiler; {MAKE} all; Directory ::
  16.     Directory linker; {MAKE} all; Directory ::
  17.     Directory librar; {MAKE} all; Directory ::
  18.     Directory lex; {MAKE} all; Directory ::
  19.     Directory toplevel; {MAKE} all; Directory ::
  20.     Directory appli; {MAKE} all; Directory ::
  21.     Echo 'The CAML Light system is up and running.'
  22.  
  23. coldboot ƒ
  24.     directory runtime; {MAKE} scratch; {MAKE} all; directory ::
  25.     {MAKE} again                    # Build the cross-compiler.
  26.     {MAKE} backup promote           # Install the cross-compiler.
  27.     {MAKE} again                    # Build the new compiler.
  28.     duplicate -y :runtime:camlrun : # Install the new runtime.
  29.     {MAKE} bootstrap                # Install, rebuild and compare the compiler.
  30.     {MAKE} toplevel                 # Only after the bootstrap is done.
  31.  
  32. bootstrap ƒ promote again compare
  33.  
  34. loop ƒ promote again toplevel compare
  35.     equal -d camltop :toplevel:camltop || ;
  36.     echo 'Bootstrap loop completed.'
  37.  
  38. backup ƒ
  39.     :tools:push_version camlrun camlcomp camllibr camllink camllex 
  40.  
  41. promote ƒ
  42.     Duplicate -y :compiler:camlcomp :linker:camllink :librar:camllibr :lex:camllex :
  43.     Duplicate -y :toplevel:camltop : || ;
  44.  
  45. again ƒ
  46.     flush
  47.     Directory lib; {MAKE} scratch; {MAKE} all; Directory ::
  48.     Directory compiler; {MAKE} scratch; {MAKE} all; Directory ::
  49.     Directory linker; {MAKE} scratch; {MAKE} all; Directory ::
  50.     Directory librar; {MAKE} scratch; {MAKE} all; Directory ::
  51.     Directory lex; {MAKE} scratch; {MAKE} all; Directory ::
  52.  
  53. toplevel ƒ
  54.     Directory toplevel; {MAKE} scratch; {MAKE} all; Directory ::
  55.  
  56. appli ƒ
  57.     directory appli; {MAKE} scratch; {MAKE} all; directory ::
  58.  
  59. compare ƒ
  60.     Set Exit 0
  61.     Equal -d camlcomp :compiler:camlcomp
  62.     Equal -d camllink :linker:camllink
  63.     Equal -d camllibr :librar:camllibr
  64.     Equal -d camllex :lex:camllex
  65.     Set Exit 1
  66.  
  67. install ƒ
  68.     NewFolder {LIBDIR} || ;
  69.     newfolder {BINDIR} || ;
  70.     Directory runtime; {MAKE} -d BINDIR={BINDIR} -d LIBDIR={LIBDIR} install; Directory ::
  71.     Directory yacc; {MAKE} -d BINDIR={BINDIR} -d LIBDIR={LIBDIR} install; Directory ::
  72.     Directory launch; {MAKE} -d BINDIR={BINDIR} -d LIBDIR={LIBDIR} install; Directory ::
  73.     Directory lib; {MAKE} -d BINDIR={BINDIR} -d LIBDIR={LIBDIR} install; Directory ::
  74.     Directory compiler; {MAKE} -d BINDIR={BINDIR} -d LIBDIR={LIBDIR} install; Directory ::
  75.     Directory linker; {MAKE} -d BINDIR={BINDIR} -d LIBDIR={LIBDIR} install; Directory ::
  76.     Directory librar; {MAKE} -d BINDIR={BINDIR} -d LIBDIR={LIBDIR} install; Directory ::
  77.     Directory lex; {MAKE} -d BINDIR={BINDIR} -d LIBDIR={LIBDIR} install; Directory ::
  78.     Directory toplevel; {MAKE} -d BINDIR={BINDIR} -d LIBDIR={LIBDIR} install; Directory ::
  79.     Directory appli; {MAKE} -d BINDIR={BINDIR} -d LIBDIR={LIBDIR} install; Directory ::
  80.     Echo 'Installation complete.'
  81.  
  82.  
  83. distrib ƒ distribbin distribsrc
  84.     Echo 'Distribution complete.'
  85.  
  86. distribbin ƒ
  87.     delete -y {distrib_dir} || ;
  88.     newfolder {distrib_dir}
  89.     Duplicate -y "::READ ME" ::INSTALL ::COPYRIGHT "::LISEZ MOI" ::CHANGES ::ERRATUM {distrib_dir}
  90.     Duplicate -y {LIBDIR}:"Caml Light" {distrib_dir}
  91.     Duplicate -y {LIBDIR} {distrib_dir}lib:
  92.     Duplicate -y {BINDIR} {distrib_dir}tools:
  93.     open {distrib_dir}tools:camlc
  94.     find • {distrib_dir}tools:camlc
  95.     replace /{LIBDIR}/ 'Macintosh HD:Caml Light:lib:' {distrib_dir}tools:camlc
  96.     close -y {distrib_dir}tools:camlc
  97.     NewFolder {distrib_dir}examples
  98.     do backup -a -r -c -from '::examples' -to {distrib_dir}examples
  99.  
  100. distribsrc ƒ
  101.     delete -y {distrib_dir_source} || ;
  102.     newfolder {distrib_dir_source}
  103.     Duplicate -y "::READ ME (source)" "::LISEZ MOI (source)" {distrib_dir_source}
  104.     Duplicate -y ::COPYRIGHT {distrib_dir_source}"COPYRIGHT - copie"
  105.     Duplicate -y {SRCDIR} {distrib_dir_source}src:
  106.     Duplicate -y ::config {distrib_dir_source}config:
  107.  
  108. depend ƒ
  109.     directory runtime; {MAKE} depend; {MAKE} all; directory ::
  110.     duplicate :runtime:camlrun :
  111.     directory yacc; {MAKE} all; directory ::
  112.     duplicate :yacc:camlyacc :
  113.     directory lib; {MAKE} depend; directory ::
  114.     directory compiler; {MAKE} depend; directory ::
  115.     directory linker; {MAKE} depend; directory ::
  116.     directory librar; {MAKE} depend; directory ::
  117.     directory lex; {MAKE} depend; directory ::
  118.     directory toplevel; {MAKE} depend; directory ::
  119.     delete -y camlrun camlyacc
  120.  
  121. clean ƒ
  122.     Directory runtime; {MAKE} clean; Directory ::
  123.     Directory yacc; {MAKE} clean; Directory ::
  124.     Directory lib; {MAKE} clean; Directory ::
  125.     Directory compiler; {MAKE} clean; Directory ::
  126.     Directory linker; {MAKE} clean; Directory ::
  127.     Directory librar; {MAKE} clean; Directory ::
  128.     Directory lex; {MAKE} clean; Directory ::
  129.     Directory toplevel; {MAKE} clean; Directory ::
  130.     Directory appli; {MAKE} clean; Directory ::
  131.  
  132. scratch ƒ
  133.     Directory runtime; {MAKE} scratch; Directory ::
  134.     Delete -i camlrun
  135.     Directory yacc; {MAKE} scratch; Directory ::
  136.     Delete -i camlyacc
  137.     Directory lib; {MAKE} scratch; Directory ::
  138.     Directory compiler; {MAKE} scratch; Directory ::
  139.     Directory linker; {MAKE} scratch; Directory ::
  140.     Directory librar; {MAKE} scratch; Directory ::
  141.     Directory lex; {MAKE} scratch; Directory ::
  142.     Directory toplevel; {MAKE} scratch; Directory ::
  143.     delete -i camltop
  144.     Directory appli; {MAKE} scratch; Directory ::
  145.